1. Field of the Invention
The present invention relates generally to a system and method for collecting and presenting product and vendor information on a distributed network such as the Internet.
2. Background and Related Art
It is known to sell products on a distributed network such as the Internet. Online sales or e-commerce is a rapidly growing segment of the economy. Systems for selling products on a distributed network are sometimes referred to as electronic merchandising systems or virtual storefronts. It is further known to aggregate in one user interface access to multiple online vendors to enable a user to choose among several retailers' goods. Sites containing multiple vendors are sometimes referred to as electronic or virtual malls, or shopping agents or “bots.” An electronic vendor or electronic mall provides a display that generally includes images and descriptions of merchandise. These sites also generally provide the vendors' prices for the product. Shopping agents or “bots” aggregate product pricing information from multiple vendors on a single site.
In addition to serving as an avenue for commerce, a distributed network allows consumers to access considerable amounts of information about products. For example, consumers can research products by accessing information provided by manufacturers, vendors, distributors, etc. Consumers also may research products through third-party sites, such as ConsumerReports.org®, that publish industry reviews of products.
Consumers may further communicate with each other to exchange product experiences and information. For example, consumers may interact on Usenet discussion groups to share information such as personal experiences with products. In addition, it has been proposed by the assignee of the present invention to survey consumers regarding the quality of particular products and/or services and to publish or advertise the results of the survey as numerical ratings. Recently, with the rapid technological advancement of the Internet, it has become further possible for individual consumers to provide narrative reviews of products and/or services, in addition to the standardized scaled ratings.
A consumer can also research information on vendors. For example, vendors typically provide on their websites information such as their shipping, billing and return policies. As with products, consumers also may communicate with other users to exchange experiences and information related to vendors on online discussion groups or at third-party sites that allow users to rate and review vendors. There further exist websites, such as gomez.com and bizrate.com, that allow users to rate vendors.
Although there is an abundance of vendor and product information on the Internet, this information is distributed over numerous websites. To access the information, consumers need to locate these various websites. However, consumers may have difficulties finding the various websites. For instance, searching under a product name on a search engine may locate millions of websites, most of which provide little or no relevant information. Accordingly, there presently exists a need for a methodology to provide a single source for information on products and vendors.
Furthermore, even if a user locates the various websites containing the desired product and vendor information, the large amount of information provided is not organized for easy access by the user. Because there exists so much information, consumers may have difficulty sorting, comparing and using it. Consequently, there further exists a need for a methodology to organize and present product and vendor information for easy access by consumers.
It is generally known to use a database to electronically organize and store information. In the most general sense, a database is a collection of data. Various architectures have been devised to organize data in a computerized database. Typically, a computerized database includes data stored in mass storage devices, such as tape drives, magnetic hard disk drives and optical drives. The three principal database architectures are termed hierarchical, network and relational. A hierarchical database assigns different data types to different levels of the hierarchy, with each record having one owner. In this way, links between data items on one level and data items on a different level are simple and direct. However, a single data item can appear multiple times in a hierarchical database, which creates data redundancy. To eliminate data redundancy, a network database stores data in nodes having direct access to any other node in the database. In the network database, each record has multiple owners, and there is no need to duplicate data since all nodes are universally accessible. Alternatively, in a relational database such as Oracle®, Sybase®, Informix®, Microsoft SQL Server®, Access®, and others, the basic unit of data is a relation that comprises attributes and tuples. The records in a relational database have no owner.
In an implementation of a relational database, a relation corresponds to a table having rows, where each row corresponds to a tuple, and columns, where each column corresponds to an attribute. From a practical standpoint, rows represent records of related data and columns identify individual data elements. A table defining a retailer's product line may, for example, have product names, product numbers (e.g., Stock Keeping Units or SKUs), prices and other product features. Each row of this table holds data for a single product and each column holds a single attribute, such as a product name. The order in which the rows and columns appear in a table has no significance. In a relational database, one can add a new column to a table without having to modify older applications that access other columns in the table. Relational databases thus provide flexibility to accommodate changing needs.
All databases require a consistent structure, termed a schema, to organize and manage the information. In a relational database, the schema is a collection of tables. Similarly, for each table, there is generally one schema to which it belongs. Once the schema is designed, a tool, known as a database management system (DBMS), is used to build the database and to operate on data within the database. The DBMS stores, retrieves and modifies data associated with the database. Lastly, to the extent possible, the DBMS protects data from corruption and unauthorized access.
A human user controls the DBMS by providing a sequence of commands selected from a data sublanguage. The syntax of data sublanguages varies widely, but the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) have adopted Structured English Query Language (SQL) as a standard data sublanguage for relational databases. SQL comprises a data definition language (DDL), a data manipulation language (DML) and a data control language (DCL). DDL allows users to define a database, to modify its structure and to destroy it. DML provides the tools to enter, modify and extract data from the database. DCL provides tools to protect data from corruption and unauthorized access. Although SQL is standardized, most implementations of the ANSI standard have subtle differences. Nonetheless, the standardization of SQL has greatly increased the utility of relational databases for many applications, including retail sales and merchandising operations.
Although access to relational databases is facilitated by standard data sublanguages, users still must have detailed knowledge of the database's terminology to obtain needed information from a database since one can design many different schemas to represent the storage of a given collection of information. For example, in an electronic merchandising system, a merchant may elect to store product information, such as a product SKU, product name, product description, price and tax code, within a relational database. Another merchant may elect to store a different product SKU, product name, description, price and tax code in a table. In this situation, an SQL query designed to retrieve a product price from one merchant's database is not useful for retrieving the price for the same product in the other merchant's database because the differences in data types require the use of different SQL queries. As a consequence, developers of retail applications accessing product information from relational databases have to adapt their SQL queries to each individual schema. This, in turn, prevents their applications from being used in environments where there are a wide variety of databases having different schemas, such as the World Wide Web.
The rapid development of the World Wide Web (Web) has facilitated the use of online merchant systems. Online merchant systems enable merchants to creatively display and describe their products to a global audience of shoppers using Web pages defined by an output language such as hypertext markup language (HTML). HTML enables merchants to lay out and display content, such as text, pictures, sound and video. Web shoppers access a merchant's page using a browser, such as Microsoft Explorer® or Netscape Navigator®, installed on a client connected to the Web through an online service provider, such as the Microsoft Network® or America OnLine®. The browser interprets the HTML to format and display the merchant's page for the shopper. The online merchant system likewise enables shoppers to browse through a merchant's store to identify products of interest, to obtain specific product information and to electronically purchase products after reviewing product information. Merchants often store product data, such as product descriptions, prices and pictures, in relational databases. Online merchant systems, therefore, have to interface with merchant databases to access and display product information. As each merchant organizes their product information differently, there is a large installed base of databases having a wide variety of data types for product information.
This problem is even greater for websites that seek to advertise and sell products from a variety of online merchant systems. A problem with finding product information on the Internet is that the same product may have numerous names or identifiers depending on the merchant's site on which it is stored. In particular, a product may be identified by its model name, serial number, SKU assigned by the vendor, distributor part number, etc. Even these identifiers may vary greatly. For example, a product may have numerous model names because the name varies from country to country, the manufacturer may periodically change the product's name, or the manufacturer, consumers and merchants may use numerous different names to refer to the same product. Similarly, different vendors use different SKU numbers. As a result, a user may have great difficulty correlating product information about the same product from different sources.
Much information on products is available on the web. For example, it is well known for vendors to provide information, such as product price, on a website. U.S. Pat. No. 5,740,425 by Povilus, for DATA STRUCTURE AND METHOD FOR PUBLISHING ELECTRONIC AND PRINTED PRODUCT CATALOGS, incorporated herein by reference, provides a data structure and method for creating a product database, which defines classes of product groupings and preferably includes a listing of SKUs that correspond to a product or a component of a product. The product database further includes product information for each associated SKU. Similarly, many manufacturers of products provide online information about their products. The manufacturers may further provide technical support and assistance over the Internet. In addition, many Internet sites provide reviews of products. These sites may have writers that test and review the products. Alternatively, the sites may allow users to place their opinions about a product for other users to view. These consumer-posted reviews provide special insights into products because they reflect actual experiences with the product.
However, because the product information from different sources cannot be viewed together, the utility of this abundance of information is limited.